package com.wenjie.original.service;

import com.wenjie.databseDiff.entity.DatasourceConnectionTestReq;
import com.wenjie.original.entity.SysDiffColumn;
import com.wenjie.original.entity.SysDiffDatasource;
import com.wenjie.original.entity.SysDiffTable;
import com.wenjie.original.entity.vo.SysDiffDatasource.SysDiffDatasourceUpOrAddVo;
import com.wenjie.original.flex_config.baseInterface.CusIService;

import java.util.List;

/**
 * <p>
 * 数据库表 服务类
 * </p>
 *
 * @author author
 * @since 2024-08-30 14:15:41
 */
public interface ISysDiffDatasourceService extends CusIService<SysDiffDatasource> {
    /**
     * 新增数据源
     *
     * @param addVo 数据源
     */
    void add(SysDiffDatasourceUpOrAddVo.AddVo addVo);

    //    /**
//     * 查询数据源列表
//     */
//    PageInfo<DatasourceListRes> list(DatasourceListReq req);
//
//    /**
//     * 查询数据源
//     *
//     * @param datasourceId 数据源ID
//     */
//    Datasource getDatasource(Long datasourceId);
//

    /**
     * 查询数据源
     *
     * @param name 数据库的名称
     */
    SysDiffDatasource getDatasourceByName(String name);


    /**
     * 测试连接
     */
    void testConnection(DatasourceConnectionTestReq req);

    //
    void sync(Long datasourceId);

    List<SysDiffTable> getTableInfos(Long datasourceId);
//
    List<SysDiffColumn> getColumnInfos(Long datasourceId);
//
//
//    void update(DatasourceUpdateReq req);
//
//    void delete(DatasourceDeleteReq req);
}
